package br.com.mftc.efitness.beans;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.RequestScoped;

import br.com.mftc.efitness.util.Variaveis;

@ManagedBean(name = "permissao")
@RequestScoped
public class PermissoesBean {

	@ManagedProperty("#{login}")
	private LoginBean login;
	
	public Boolean subMenuControle() {
		return subMenuAcademia();
	}
	
	public Boolean subMenuConfiguracoes() {
		return subMenuPerfisDeUsuario();
	}
	
	public Boolean subMenuAcademia() {
		if (login.getUsuario() != null) {
			return menuItemNovaAcademia() || 
					menuItemConsultarAcademias();
		}
		return false;
	}
	
	public Boolean subMenuPerfisDeUsuario() {
		if (login.getUsuario() != null) {
			return menuItemNovoPerfil() || 
					menuItemConsultarPerfis();
		}
		return false;
	}
	
	public Boolean menuItemNovaAcademia() {
		if (login.getUsuario() != null) {
			return login.getUsuario().possuiPermissao(Variaveis.PERMISSAO_ACADEMIA_NOVA_ACADEMIA);
		}
		return false;
	}
	
	public Boolean menuItemConsultarAcademias() {
		if (login.getUsuario() != null) {
			return login.getUsuario().possuiPermissao(Variaveis.PERMISSAO_ACADEMIA_CONSULTAR_ACADEMIAS);
		}
		return false;
	}
	
	public Boolean menuItemNovoPerfil() {
		if (login.getUsuario() != null) {
			return login.getUsuario().possuiPermissao(Variaveis.PERMISSAO_PERFIL_DE_USUARIO_NOVO_PERFIL);
		}
		return false;
	}
	
	public Boolean menuItemConsultarPerfis() {
		if (login.getUsuario() != null) {
			return login.getUsuario().possuiPermissao(Variaveis.PERMISSAO_PERFIL_DE_USUARIO_CONSULTAR_PERFIS);
		}
		return false;
	}
	
	public Boolean alterarPerfilDeUsuario() {
		return login.getUsuario().possuiPermissao(Variaveis.PERMISSAO_PERFIL_DE_USUARIO_ALTERAR_PERFIL);
	}
	
	public Boolean removerPerfilDeUsuario() {
		return login.getUsuario().possuiPermissao(Variaveis.PERMISSAO_PERFIL_DE_USUARIO_REMOVER_PERFIL);
	}
	
	public LoginBean getLogin() {
		return login;
	}

	public void setLogin(LoginBean login) {
		this.login = login;
	}
}
